【Security Hub修復手順】[CloudFront.7] CloudFront ディストリビューションでは、カスタム SSL/TLS 証明書を使用する必要があります

【Security Hub修復手順】[CloudFront.7] CloudFront ディストリビューションでは、カスタム SSL/TLS 証明書を使用する必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
Clock Icon2023.07.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。

本記事の対象コントロール

[CloudFront.7] CloudFront ディストリビューションでは、カスタム SSL/TLS 証明書を使用する必要があります

[CloudFront.7] CloudFront distributions should use custom SSL/TLS certificates

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

本コントロールでは、「対象のCloudFront ディストリビューションでカスタムのSSL/TLS証明書が使用されているかどうか」が確認されます。カスタムのSSL/TLS証明書を設定して使用している場合、本コントロールの条件は満たされます。

では何故このコントロールを満たす必要があるのでしょうか?

CloudFrontではディストリビューションごとにデフォルトのドメイン名が用意されており、そのドメインを利用したアクセスにはCloudFrontデフォルトのSSL/TLS証明書が使用されます。

ただし、ユーザーが用意したカスタムドメイン名を使用する場合、カスタムのSSL/TLS証明書を設定しなければSSLで通信を行うことは出来ません。そのため、カスタムドメイン名を使用する場合には本コントロールを満たす必要があります。

しかし、検証環境等のCloudFrontディストリビューションなど、デフォルトのドメイン名でディストリビューションを利用する場合には本コントロールを満たす必要はありません。その場合は対象リソースにおいて抑制しましょう。

CloudFrontに対する代替ドメイン名追加の詳細は下記ドキュメントをご参照ください。

修復手順

1. ステークホルダーに確認を取る

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • 設定する代替ドメイン名が用意されていること
    • 代替ドメイン名は予めRoute53などのDNSでCNAMEレコードもしくはAレコードとして登録されていること
    • Route53でAレコードを設定する場合、CloudFrontの代替ドメイン名設定を行った後にRoute53に登録すること
  • 利用可能なカスタムのSSL/TLS証明書が用意されていること
    • 証明書はAWS Certificate Managerで発行することが推奨されていますが、外部のCAで発行したものもIAM証明書ストアにアップロードすることで使用可能です。

2. 対象のリソースを把握する

SecurityHubの結果より、対象のディストリビューションを確認します。バージニア北部リージョン(us-east-1)の場合、下記URLから確認可能です。

https://us-east-1.console.aws.amazon.com/securityhub/home?region=us-east-1#/controls/CloudFront.7

下図赤枠部が対象のディストリビューションIDです。

3. 代替ドメイン名とカスタムのSSL/TLS証明書を設定する

ディストリビューションの一般より、設定の編集を行います。

下図では既に代替ドメイン名が設定されていますが、設定していない場合は代替ドメイン名を設定します。

次にカスタムSSL証明書を設定します。AWS Certificate Managerで発行した証明書(ACM証明書)もしくは外部のCAで発行してIAM証明書ストアにアップロードした証明書が選択可能です。

ここでは事前に準備しておいたACM証明書を選択します。

下図の通り設定が完了したら変更を保存します。

最後に設定した代替ドメイン名にアクセスし、HTTPSで通信が出来ていることを確認します。

以上で設定は完了です。お疲れ様でした。

参考

代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用 - Amazon CloudFront

代替ドメイン名と HTTPS の設定 - Amazon CloudFront

エイリアスレコードと非エイリアスレコードの選択 - Amazon Route 53

CloudFrontで独自ドメイン利用の際にディストリビューション側にもCNAME設定が必要な点をその動作とともに検証してみた

CloudFrontで代替ドメイン名を付け替えるときの注意点〜事前にCNAMEレコードの更新が必要なケース

独自取得したドメインをRoute 53で管理して、CloudFrontのディストリビューションに使用する方法を確認してみた。

Amazon Route 53のALIASレコード利用のススメ

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、べこみんでした。

クラスメソッドメンバーズをご契約の皆さまに

AWS Security Hub 「基礎セキュリティのベストプラクティス」の各チェック項目(コントロール)に対する弊社としての推奨対応やコメントを記載しているClassmethod Cloud Guidebook を提供しています。 クラスメソッドメンバーズポータルの「お役立ち情報」→「組織的な AWS 活用のためのノウハウ」からご参照ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.